Statistical machine translation

ABSTRACT

A method includes detecting a syntactic chunk in a source string in a first language, assigning a syntactic label to the detected syntactic chunk in the source string, mapping the detected syntactic chunk in the source string to a syntactic chunk in a target string in a second language, said mapping based on the assigned syntactic label, and translating the source string into a possible translation in the second language.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application Serial No. 60/368,851, filed on Mar. 28, 2002, which is hereby incorporated by reference.

ORIGIN OF INVENTION

[0002] The research and development described in this application were supported by DARPA-ITO under grant number N66001-00-1-8914. The U.S. Government may have certain rights in the claimed inventions.

BACKGROUND

[0003] Machine translation (MT) is the automatic translation, for example, using a computer system, from a first language (a “source” language) into another language (a “target” language). Systems that perform an MT process are said to “decode” the source language into the target language. From an end-user's perspective, the MT process is relatively straight-forward. The MT process receives as input a source sentence (or “string” of words) and after processing the input sentence, outputs a translated sentence in the target language.

[0004] One type of MT process is referred to as a statistical MT decoder. Conventional statistical MT decoders may include a language model (LM) and a translation model (TM).

SUMMARY

[0005] According to an aspect of this invention, a method includes detecting a syntactic chunk in a first string in a first language, assigning a syntactic label to the detected syntactic chunk in the first string, aligning the detected syntactic chunk in the first string to a syntactic chunk in a second language string, said aligning based on the assigned syntactic label, and translating each word from the first string into a second word corresponding to a possible translation in the second language.

[0006] One or more of the following features may also be included. Grouping at least two words from the first string based on part of speech identifiers tagged to the at least two words. Defining connections between the detected syntactic chunk in the source string to a chunk in the second string. Determining connections based on a chunk mapping table, the chunk mapping table using pre-defined connections based on syntactic chunk labels. Defining a connection between the detected chunk from the first string to at least two non-adjacent chunks in the target string. Defining a connection of at least two detected chunks from the source string to a single chunk in the target string.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a flowchart of a linguistic statistical translation (LST) process.

[0008]FIG. 2 illustrates an exemplary source and target sentence.

[0009]FIG. 3 illustrates a sentence-level chunk reordering table corresponding to the sentences of FIG. 2.

[0010]FIG. 4 illustrates chunk mapping alignment tables corresponding to FIGS. 2-3.

[0011]FIG. 5 illustrates word translations corresponding to FIGS. 1-4.

[0012]FIG. 6 shows a second embodiment of a LST process.

DETAILED DESCRIPTION

[0013] A statistical MT system as described herein may be modeled as three separate parts: (1) a language model (LM) that assigns a probability P(e) to any target string of words, (2) a translation model (TM) that assigns a probability P(fle) to any pair of target and source strings, and (3) a decoder that determines translations based on the assigned probabilities of the LM and TM.

[0014] A conventional MT system may translate source sentences into target sentences by making a series of word-based decisions. The word-based decisions may include a translation decision where each source word is translated to a target word. A mapping (“alignment”) decision may also be performed for each translated word, e.g., mapping multiple source words to a single target word-based on a determined fertility of the translated source word. A rearrangement (“distortion”) decision may also be performed, e.g., re-arranging the order of words from a source sentence to translated words in the corresponding target sentence. The translation, mapping and distortion decisions are based on weighted probabilities determined during the translation process.

[0015] Some source sentences pose translational challenges that are not handled well by conventional word-based MT systems. For example, translational challenges include the translation of phrases, restructuring sentences for syntactical reasons, and translations of non-adjacent words into single words or phrases in the target sentence.

[0016]FIG. 1 depicts a linguistic statistical translation model (LST) process 10 that includes receiving (15) a source sentence to be translated, assigning (20) a “part of speech” (POS) tag(s) for each source word in a source sentence, and detecting (30) syntactic “chunks” included in the source sentence. LST process 10 also includes actions (40), (50) and (60) that are based, in part, on the assigned POS tag(s) and/or the detected syntactic chunk(s). The use of POS tag(s) and/or syntactic chunk(s) in process 10 allows for improved translations of source to target sentences, and, in particular improved string translations of the translational challenges identified previously.

[0017] A POS tag refers to an identifying symbol that represents a type of word, e.g., a “VVFIN” symbol may be tagged to a finite verb. An exemplary set of POS tags that may be used in process 10 is referred to as the “Penn Treebank Tag set”, and described in Mitchell P. Marcus, Beatrice Santorini, and Mary Ann Marcinkiewicz: “Building a Large Annotated Corpus of English: The Penn Treebank”, in Computational Linguistics, Volume 19, Number 2 (June 1993), pp. 313-330 (Special Issue on Using Large Corpora), which is hereby incorporated by reference.

[0018] Chunking refers to the grouping of non-recursive verb, noun, prepositional, or other phrases in a sentence. Chunking may include detecting groupings in a source sentence and the output of chunks combinations in a target sentence. The concept of chunking is discussed in Abney, S. (1991) “Parsing by chunks”, In Robert Berwick, Steven Abney, and Carol Tenny: Principle-Based Parsing. Kluwer Academic Publishers.

[0019] Still referring to FIG. 1, LST process 10 includes receiving (15) an input source sentence to be translated, tagging (20) each word in the source sentence with a POS tag, detecting (30) syntactic chunks (e.g., phrases) in each source sentence, sentence-level chunk re-ordering (40), mapping (50) detected source chunks to target chunks in the target sentence, and translating (60) each word from the source to target sentence. The word translations produced by action (60) may be further refined by use of an optional target language model (70).

[0020]FIG. 2 shows an exemplary source sentence 100 with each word having an associated POS tag 110-116 generated during action (20), and detected syntactic chunks 101-105 generated during action (30). Detected chunks 101-105 also include syntactic labels, e.g., “N, V, N, V and !”, respectively. Syntactic labels refer to the syntactic portion of a sentence for the detected chunk, for example, “N” may refer to a base noun phrase, “V” may refer to a verb complex, “P” may refer to a base prepositional phrase, “A” may refer to an adjective, “F” may refer to a function word, and “!” may refer to punctuation.

[0021] Sentence-level chunk re-ordering (40) defines connections 120-125 between each source chunk 101-106 and a corresponding target chunk 130-134 that will be included in the target sentence 150. In many cases, the target chunks are re-ordered relative to the source chunks. This reordering may be based upon templates that define likely connections between detected syntactic chunk to corresponding syntactic chunks in a target sentence. Connection(s) may single value or multi-valued (e.g., one-to-one, many-to-many, or one-to-many, etc.). FIG. 3 shows a chunk connection table 160 that is representative of the connections 120-125 between source chunks 101-105 and target chunks 130-134, corresponding to those shown in FIG. 2.

[0022]FIG. 4 shows chunk mapping tables 170, 180, 190 and 200 that are representative of the chunk mappings created by action (50) of process 10 as applied to exemplary sentence 100. Chunk mapping refers to the alignment of each source chunk to a target chunk and may be referenced in terms of the POS tag of words in the source chunk and words in the target chunk. For example, as shown in table 170, source POS tags 110 (“ART”) and 111 (“NN”) are aligned to target POS tags 140 (“DT”) and 141 (“NNP”). Chunk mappings may align multiple chunks (“complex chunks”) to single chunks or other complex chunks. For example, as shown in table 190, source chunk 103 is aligned to a complex chunk including target chunk 130 and 131. Nonadjacent chunks from the source sentence 110 may be combined into a single chunk, for example, as shown in table 180, combining chunks 102 and 104 into target chunk 132.

[0023] As described previously, each complex chunk may be “labeled” with an assigned syntactic chunk label. This labeling may allow improved reordering of chunks at the sentence level, since the syntactic label may identify their syntactic role in a sentence.

[0024] Process 10 then translates (60) the source words from the source language sentence to words for the target language sentence. Word translation may be determined, in part, on the part-of-speech assigned to the corresponding source word (selected by the chunk mapping), e.g., restricting a selection of a word corresponding to the assigned POS tag. FIG. 5 depicts the performance of action (60) from process 10, e.g., depicting word translations corresponding to the example shown in FIGS. 1-4.

[0025] In an embodiment, instead of generating target language words by individual word translations, a complex chunk may be translated by exact phrase lookup. In more detail, if an entire source chunk is determined to be a known phrase, the entire source chunk may be translated as the known phrase. For example, as shown in FIG. 2, if the words included in source chunk 103 “der Agrarausschuss” is a known phrase, it may be translated directly into the words in target chunks 130-131 “the sub-committee for agriculture”. Exact phrase lookup allows for the translation of idiomatic phrases that are not easily translated used word-based translations.

[0026] Process 10 may include an optional target language model (70) that is performed to provide additional fluency improvements to the target sentence.

[0027] Mathematical Formulation of Process 10

[0028] The operations of LST process 10 may be modeled mathematically, for example, modeled on a set of probability determinations. The mathematical model of process 10 that follows includes a formulation that follows the noisy channel model. In more detail, this means that instead of estimating p(e|f) directly (e.g., the best translation e for an input string f), Bayes rule is applied to maximize p(f|e) x p(e). Therefore, this splits the model into two parts: a translation part p(f|e) and a language model p(e). For the language part, a trigram language model may be used.

[0029] The translation part is decomposed into sentence level reordering (SLR), chunk mapping (CM) and word translations (W), and may be modeled with the following probability equation:

p(f|e)=p(SLR|)×Π_(i) p(CM _(i) |e,SLR)×Π_(j) p(W _(ij) |CM _(i) ,SLR,e)

[0030] Since POS tagging and chunking is deterministic, e represents not only words of the target string, but also their POS and groupings into chunks. The sentence level chunk reordering (SLR) and word reordering within chunks (CM) may be performed using templates, for example, using templates representative of the information from the tables shown in FIGS. 3 and 4. Word translation (W) may be accomplished using a word-by-word translation table.

[0031] Direct application of the three probability equations above may be problematic due to sparse data. Therefore the three conditional probability distributions may be simplified, as follows:

[0032] p(SLR) may be conditioned only on each target chunk label sequence;

[0033] p(CM₁) may be conditioned only on the relevant source and target chunk labels, and the target POS tags;

[0034] p(W_(ij)) may be conditioned only on the relevant target POS tag and word.

[0035] Each word alignment in a chunk mapping is factored in with a word translation probability. Unaligned source words are factored in with the probability p(f_(x)|ZFERT,f_(posk)) Unaligned target words are factored in with the probability p(NULL|e_(k), f_(posk))

[0036] Instead of decomposing the chunk mapping into word translations, a direct phrase lookup may be performed, which is modeled by the following equation:

p(W_(i1) , . . . ,W _(in) |CM _(i) ,SLR,e)

[0037] Parameters for the word alignments may be determined using a so-called parallel corpus method in which text in a source language string (a first corpus) is aligned to translated text in a target language string (the second corpus). These alignments establish correspondences between source words in the source string and the target string. Both sides of the parallel corpus may also be POS tagged and chunked.

[0038] Chunk mappings may be determined using a parallel corpus method, for example, if a source chunk and a target chunk contain a source word and a target word that are aligned to each other, the two chunks are connected. Chunks that contain no aligned words may be attached to other chunks based on a set of rules, for example, adverbs are attached to a following verb chunk if they are unaligned, or commas are attached to a following function word if they are unaligned, and so forth.

[0039] A transitive closure may then be performed on any chunk alignments, for example, using the following rule set: If chunk f_(i) is aligned with e_(x), f_(j) is aligned with e_(x), and chunk f_(i) is aligned with ey, then chunk f_(j) is considered aligned with e_(y), even if they do not contain any words aligned to each other. The transitive closure ensures a one-to-one mapping between complex chunks in a source sentence and a target sentence.

[0040] Aligning a parallel corpus based on the above formulations allows statistics to be collected on word translations (including P(f_(x)|ZFERT,f_(posk)) and p(NULLIe_(x),f_(posk))), complex chunk mappings, and sentence level reordering. Conditional probability distributions may then be collected by maximum likelihood estimation. Since the data for exact phrase lookup is highly noisy, the probabilities may be smoothed.

[0041] In an embodiment, the translation part of the model (e.g., “decoding”) may be performed in two steps: First a sentence level template (SLT) for each sentence level chunk reordering is generated. Second, a target translation is constructed a word at a time from left to right. This is repeated for the top n SLT for each given source chunk sequence. Ultimately, the translation with the overall best score is selected as a system output.

[0042] The construction of a target sentence for a given sentence level template (SLT) may be implemented by a Viterbi search using dynamic programming. In this case, chunk mapping templates are selected as needed. Then word slots are filled with use of a word-by-word translation table and a language model. At the end of each complex chunk, information about which chunk mapping template was used may be discarded. In some implementations the construction of the target string may include the insertion of a NULL word.

[0043] ever, for each partial translation (or hypothesis), the following information is maintained:

[0044] two words created (needed by the language model);

[0045] current chunk mapping template, if not complete;

[0046] current score (‘score’ refers to the product of the combined probabilities of partial translation decision, chunk mapping decisions, etc.)

[0047] back pointer to best path;

[0048] position of last chunk;

[0049] position of last word created within chunk;

[0050] “stacked chunk mapping templates”

[0051] Stacked chunk mapping templates refers to information needed when a disconnected complex chunk is filled in the target translation: for example, if the SLT calls for the creation of a “V+P” chunk, with additional material between “V” and “P”. In this case, the information about the chunk mapping template that was selected has to be carried through between the “V” and “P”, until it is completely filled.

[0052] The complexity of the hypothesis space at any given position in a target sentence may be represented as O(V²C^(1+s)), with V being the vocabulary size, C the number of applicable chunk mapping templates, and s the number of stacked chunk mapping templates.

[0053] The model may be simplified by restricting translations to contiguous complex chunks in the target language, which eliminates the need for stacked chunk mapping templates. This simplifies the complexity equation to O(V²C)at any given position. This also assures that, in respect to sentence length, decoding has linear complexity.

[0054]FIG. 6 shows an embodiment of an LST process 100 that is modeled upon the equations and formulations discussed previously. In this example, LST process 100 includes a loop (135, 140, 150, 160 and 170) that is repeated n times for n different sentence level templates.

[0055] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, chunk mapping errors may be caused by source words that translate into multiple target words. This type of error may be avoided or reduced by adding fertility features, or further preprocessing of compound nouns. As another example, word translation may be performed by use of a probabilistic word translation method, e.g., a “T-Table” translation method. As another example, there may be not sufficient statistics to reliably estimate sentence level templates (SLT). Therefore, other estimations may be used, for example, clause level templates, or using a method that decomposes the sentence level chunk translation step into a number of chunk segmentation and translation decisions.

[0056] Accordingly, other embodiments are within the scope of the following claims. 

1. A method comprising: detecting a syntactic chunk in a source string in a first language; assigning a syntactic label to the detected syntactic chunk in the source string; mapping the detected syntactic chunk in the source string to a syntactic chunk in a target string in a second language, said mapping based on the assigned syntactic label: and translating the source string into a possible translation in the second language.
 2. The method of claim 1, wherein assigning the syntactic label comprises assigning based on a part of speech identifier tagged to a word in the source string.
 3. The method of claim 1, further comprises defining connections between the detected syntactic chunk in the source string to a chunk in the target string.
 4. The method of claim 3, wherein defining connections comprises determining connections based on a chunk mapping table, the chunk mapping table using predefined connections based on syntactic chunk labels.
 5. The method of claim 3, wherein defining connections comprises defining a connection between the detected chunk from the source string to at least two nonadjacent chunks in the target string.
 6. The method of claim 3, wherein defining connections comprises defining a connection of at least two detected chunks from the source string to a single chunk in the target string.
 7. The method of claim 1, wherein translating comprises including at least two words in the target string that corresponds to a single word in the source string.
 8. The method of claim 1, wherein translating comprises translating phrases.
 9. The method of claim 1, further comprises: applying a language model to the source string, the language model based upon the language of the target string
 10. The method of claim 1, further comprises: determining a probability of said mapping.
 11. The method of claim 1, wherein translating comprises inserting at least one NULL word in the target string.
 12. An article comprising a machine readable medium including machine-executable instructions, the instructions operative to cause a machine to: detect a syntactic chunk in a source string in a first language; assign a syntactic label to the detected syntactic chunk in the source string; align the detected syntactic chunk in the source string to a syntactic chunk in a second language string, said mapping based on the assigned syntactic label; and translate each word from the source string into a second word corresponding to a possible translation in the second language.
 13. The article of claim 12, wherein instructions operative to cause a machine to assign the syntactic label comprises instructions operative to cause a machine to assign the syntactic label based on a part of speech identifier tagged to a word in the source string.
 14. The article of claim 12, further comprises instructions operative to cause a machine to define connections between the detected syntactic chunk in the source string to a chunk in the target string.
 15. The article of claim 14, wherein instructions operative to cause a machine to define connections comprises instructions operative to cause a machine to determine connections based on a chunk mapping table, the chunk mapping table using pre-defined connections based on syntactic chunk labels.
 16. The article of claim 14, wherein instructions operative to cause a machine to define connections comprises instructions operative to cause a machine to define a connection between the detected chunk from the source string to at least two non-adjacent chunks in the target string.
 17. The article of claim 3, wherein instructions operative to cause a machine to define connections comprises instructions operative to cause a machine to define a connection of at least two detected chunks from the source string to a single chunk in the target string.
 18. The article of claim 12, wherein instructions operative to cause a machine to translate comprises instructions operative to cause a machine to include at least two words in the target string that corresponds to a single word in the source string.
 19. The article of claim 12, wherein instructions operative to cause a machine to translate comprises instructions operative to cause a machine to translate phrases.
 20. The article of claim 12, further comprises instructions operative to cause a machine to: apply a language model to the source string, the language model based upon the language of the target string
 21. The article of claim 12, further comprises instructions operative to cause a machine to determine a probability of said mapping.
 22. The article of claim 12, wherein instructions operative to cause a machine to translate comprises instructions operative to cause a machine to insert at least one NULL word in the target string. 